package com.zeny.express.framework.shared.util;

import java.util.Date;
import java.util.UUID;

/**
 * UUID 生成器
 * 
 * @author zhuwei
 * @date 2013年8月16日 下午4:30:02
 */
public class UUIDUtils {

	/**
	 * 
	 * 通过随机数方式 生成uuid
	 * 
	 * @author zhengwl
	 * @date 2012-10-17 上午11:43:55
	 */
	@Deprecated
	public static String getRandomUUID() {
		return UUID.randomUUID().toString();
	}

	/**
	 * 
	 * 通过时间+MAC地址+随机数方式生成uuid
	 * <p>
	 * 可以通过 uuid反向获取时间
	 * </p>
	 * 
	 * @author zhengwl
	 * @date 2012-10-17 上午11:43:55
	 */
	public static String getTimeUUID() {
		UUID uuid = UUIDGen.getUUID();
		return uuid.toString();
	}

	/**
	 * 
	 * 通过时间+MAC地址+随机数方式生成uuid
	 * <p>
	 * 可以通过 uuid反向获取时间
	 * </p>
	 * 
	 * @author zhengwl
	 * @date 2012-10-17 上午11:43:55
	 */
	public static String getTimeUUID(Date date) {
		UUID uuid = UUIDGen.getUUID(date.getTime());
		return uuid.toString();
	}

	public static Date extractTime(String uuid) {
		UUID u = UUID.fromString(uuid);
		Date date = new Date(UUIDGen.getAdjustedTimestamp(u));

		return date;
	}

}
